package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import com.zhangtai.utils.Excel.ExcelAnnotation;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class EmployeeSecurityDto {
    /**
     *
     */
    @TableId(value="id",type = IdType.AUTO)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 公积金id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long fundsId;
    /**
     * 社保方案id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long securityId;
    /**
     * 员工id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;

    @ExcelAnnotation(rowName="员工姓名")
    private String name;

    @ExcelAnnotation(rowName="员工工号")
    private String code;

    /**
     * 删除标识 0：未删除 1：已删除
     */
    private Integer isDelete;
    /**
     * 养老保险基数
     */
    @ExcelAnnotation(rowName="养老保险基数")
    private BigDecimal endowmentInsurance;
    /**
     * 失业保险基数
     */
    @ExcelAnnotation(rowName="失业保险基数")
    private BigDecimal unemploymentInsurance;
    /**
     * 医疗保险基数
     */
    @ExcelAnnotation(rowName="医疗保险基数")
    private BigDecimal medicalInsurance;
    /**
     * 工伤保险基数
     */
    @ExcelAnnotation(rowName="工伤保险基数")
    private BigDecimal injuryInsurance;
    /**
     * 大额医疗
     */
    @ExcelAnnotation(rowName="大额医疗基数")
    private BigDecimal largerMedical;
    /**
     * 公积金
     */
    private BigDecimal reservedFunds;

    @ExcelAnnotation(rowName="生育保险基数")
    private BigDecimal maternityInsurance;

    @ExcelAnnotation(rowName="残疾保障金基数")
    private BigDecimal disabledEmployment;

    private BigDecimal offerFunds;



    private Long orgId;

    private String orgname;

    @ApiModelProperty("员工状态，0：未入职，2：正式，3：离职，4：退休，5：内退，6：离休，7：待岗，9：实习，10：实习结束，11：调动中")
    private String employeestatus;
}
